package com.ruoyi.system.service;

import com.ruoyi.system.domain.TrainingBaseMentor;
import com.ruoyi.system.domain.TrainingBaseMentorAll;

import java.util.List;

/**
 * 培训导师信息Service接口
 *
 * @author dp
 * @date 2023-11-27
 */
public interface ITrainingBaseMentorService {
    /**
     * 查询培训导师信息
     *
     * @param mentorId 培训导师信息主键
     * @return 培训导师信息
     */
    public TrainingBaseMentorAll selectTrainingBaseMentorByMentorId(Long mentorId);

    /**
     * 查询培训导师信息列表
     *
     * @param trainingBaseMentor 培训导师信息
     * @return 培训导师信息集合
     */
    public List<TrainingBaseMentorAll> selectTrainingBaseMentorList(TrainingBaseMentor trainingBaseMentor);

    /**
     * 新增培训导师信息
     *
     * @param trainingBaseMentor 培训导师信息
     * @return 结果
     */
    public int insertTrainingBaseMentor(TrainingBaseMentor trainingBaseMentor);

    /**
     * 修改培训导师信息
     *
     * @param trainingBaseMentor 培训导师信息
     * @return 结果
     */
    public int updateTrainingBaseMentor(TrainingBaseMentor trainingBaseMentor);

    /**
     * 批量删除培训导师信息
     *
     * @param mentorIds 需要删除的培训导师信息主键集合
     * @return 结果
     */
    public int deleteTrainingBaseMentorByMentorIds(Long[] mentorIds);

    /**
     * 删除培训导师信息信息
     *
     * @param mentorId 培训导师信息主键
     * @return 结果
     */
    public int deleteTrainingBaseMentorByMentorId(Long mentorId);

    /**
     * 实体数据补全
     *
     * @param trainingBaseMentor 实体
     * @param userId             用户id
     * @param crateType          创建类型 1：新增 2：修改
     */
    public void completeData(TrainingBaseMentor trainingBaseMentor, Long userId, Integer crateType);
}
